Section: New Software and Platforms
RIOT
Keywords: Internet of things - Operating system - Internet protocols - Sensors - IoT - Wireless Sensor Networks
Scientific Description
While requiring as low as 1,5kB of RAM and 5kB or ROM, the RIOT operating system offers both advanced capabilities such as real time and energy efficiency capabilities, as well as standard capabilities, such as a single API (partially POSIX compliant) across heterogeneous IoT hardware (8-bit, 16-bit and 32-bit low-power hardware). This API is developer-friendly in that it enables Linux-like developer experience which was not possible so far for embedded programming: multi-threading, standard C and C++ application programming and the use of standard debugging tools (gbd, valgrind etc.). On top of this, as expected from a modern OS, RIOT also provides standard connectivity capabilities, by means of several networks stacks that are readily available, such as a standard IPv6/6LoWPAN stack and a information-centric network stack (based on CCN).
Functional Description
RIOT is an open source operating system that provides an API and SDK for energy-, memory- and CPU-constrained IoT devices and similar communicating embedded systems. This API builds upon standard systems concepts (e.g. POSIX) and standard communication protocols (e.g. IPv6). RIOT thus allows the development of applications that collect sensor data and transmit it to the cloud over the Internet, using end-to-end communication means e.g. IPv6 communication from sensor to cloud servers, that can be protected by transport layer security (e.g. DTLS). This data can then be used for smart energy management for example.
An important part of the design of RIOT is that it can easily be ported to different hardware devices (tens of types of heterogeneous IoT devices are already supported), and it can easily be extended to support the latest evolution of communication standards (a wide range of protocols are already supported).
For example, RIOT already enables tests and experiements of arbitrary IoT applications and protocols on FIT IoT-Lab, which provides a large-scale infrastructure facility with 2700 nodes for testing remotely small wireless devices. Once validated, the code for such applications and protocols can then run on any other IoT device hardware supported by RIOT.